uniform float progress;
attribute vec3 toPosition;

void main() {
  vec3 dis = toPosition - position;

  vec3 pos = position + dis * progress;

  vec4 viewPosition = modelViewMatrix * vec4(pos, 1.0);
  gl_Position = projectionMatrix * viewPosition;
  gl_PointSize = .3;
  gl_PointSize *= 100. / -(modelViewMatrix * vec4(pos, 1.0)).z;
}